Skip to content

PypNetty/Kyernal

Repository files navigation

🛡️ Kyernal

Orchestrateur agnostique multikernel runtime — rootless, daemonless, post-quantique.

Kyernal choisit pour toi le runtime d'isolation optimal pour chaque workload : micro-VM Linux, unikernel, ou WASM — en fonction de ta surface d'attaque, de tes contraintes de performance, et de ta politique de sécurité.

Une image OCI en entrée. Le bon runtime en sortie. Zéro configuration manuelle.


Fonctionnalités clés

🔀 Multi-runtime Micro-VMs KVM, Unikernels (Nanos, Unikraft), WASM/WASI
🧠 Décision intelligente Cortex choisit automatiquement le runtime optimal par workload
🔐 Zero-trust natif mTLS post-quantique (ML-KEM + ML-DSA), attestation hardware vTPM
📦 OCI-compatible Soumets ton image existante — Kyernal fait le reste
🔧 CLI dédiée kyctl — version, runtime list, workload management
👤 Rootless + Daemonless Aucun processus root, aucun daemon persistant sur le host
🛡️ No-root guest Init custom qui drop toutes les capabilities au boot

Le problème

Les containers partagent un kernel. Un kernel partagé signifie un page cache partagé, des dentries partagées, une surface d'attaque commune pour tous les workloads du node.

Kyernal descend au niveau hyperviseur. Chaque workload tourne dans son propre environnement d'exécution isolé via KVM/EPT — mémoire physique séparée, kernel séparé, aucune surface partagée exploitable.


Comment ça marche

OCI image
    ↓
Orchestrator — analyse le workload, score les signaux, choisit le runtime
    ↓
┌─────────────────┬──────────────────┬─────────────────┐
│  linux-minimal  │     unikernel    │      wasm       │
│  micro-VM KVM   │  Nanos/Unikraft  │    wasmtime     │
│    ~80ms boot   │    ~15ms boot    │    ~3ms boot    │
└─────────────────┴──────────────────┴─────────────────┘
    ↓
Workload isolé — rootless, sans daemon persistant

Le decision engine de l'Orchestrator analyse statiquement l'image OCI, score la complexité syscall, et route vers le runtime le plus sûr et le plus rapide pour ce workload précis. Il préchauffe les runtimes de manière prédictive pour maintenir une latence de démarrage perçue inférieure à 5ms.


Architecture

Composant Langage Rôle
Orchestrator Go Scheduling, decision engine, API
Runtime Engine Rust VMM KVM, ioctls, lifecycle micro-VMs
Network Engine eBPF + Go Réseau zero-trust, politiques TAP
kyctl Go CLI opérateur

Propriétés de sécurité

  • Rootless — aucun processus uid=0 ou CAP_SYS_ADMIN sur le host
  • Daemonless — un process Muscle par micro-VM, détruit à l'arrêt
  • Zero-trust natif — identité workload SPIFFE, mTLS mutuel obligatoire
  • Post-Quantum Cryptography — ML-KEM + ML-DSA (FIPS 203/204) partout
  • Isolation hardware — KVM/EPT, mémoire physique par workload

CLI — kyctl

$ kyctl version
kyctl 0.1.0-alpha (commit: dev, built: 2026-05-01)

$ kyctl runtime list
NAME             TYPE         BACKEND        STATUS        BOOT(ms)
linux-minimal    microvm      firecracker    available     80
nanos            unikernel    firecracker    experimental  15
wasm             wasm         wasmtime       planned       3

Statut

🔴 Phase 1 — Socle théorique, threat model, architecture
Phase 2 — Brain Go (Kubebuilder) + Muscle Rust + Firecracker
Phase 3 — Cortex decision engine + boot prédictif
Phase 4 — mTLS PQC + attestation vTPM
Phase 5 — Unikernel + WASM runtimes


Auteur

PypNettykyernal.frpypnetty.dev

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages